# Follow a user

Initiates a follow relationship with a local or remote user. For remote users, specify the domain parameter or include it in the username (user@domain). Supports mutual follows (bidirectional connections) when mutual=true. Checks for blocks and self-follows. Remote follows are sent via ActivityPub. Local follows may auto-accept based on user settings.

Endpoint: POST /api/v1/users/follow/{username}
Version: 1.0
Security: header

## Path parameters:

  - `username` (string, required)
    Username of the followee

## Query parameters:

  - `domain` (string,null)
    Followee's domain.  If omitted assumed to be local

  - `mutual` (boolean)
    'false' for regular Follow, 'true' for bidirectional Connect

  - `scheme` (string)
    http vs. https.  For testing ONLY
    Enum: "http", "https"

## Response 200 fields (application/json):

  - `result` (string, required)

## Response 400 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 401 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 403 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 404 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 409 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation


